﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Draco.OWF.DataBinding;

namespace Draco.OWF.RT.Engine
{
    public interface IEngine:IDisposable
    {
        /// <summary>
        /// Initialize Engine
        /// </summary>
        void Initialize();
        void LoadProcess(IProcess process);
        IProcess LoadProcess(String fileName);
        IList<IProcess> LoadedProcesses { get; }
        IList<IJob> AllJobs { get; }
        IList<IJob> AllRunningJobs { get; }
        IJob CreateJob(IProcess process, IBindingDataItemCollection startParameters, IJobContext parentContext);
    }
}
